<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>JSDoc: Class: App</title>

    <script src="scripts/prettify/prettify.js"> </script>
    <script src="scripts/prettify/lang-css.js"> </script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>

<body>

<div id="main">

    <h1 class="page-title">Class: App</h1>

    




<section>

<header>
    
        <h2><span class="attribs"><span class="type-signature"></span></span>App<span class="signature">()</span><span class="type-signature"></span></h2>
        
            <div class="class-description">Primary entry point to PicoGL. An app will store all parts of the WebGL
    state.</div>
        
    
</header>

<article>
    <div class="container-overview">
    
        

    
    <h2>Constructor</h2>
    

    
    <h4 class="name" id="App"><span class="type-signature"></span>new App<span class="signature">()</span><span class="type-signature"></span></h4>
    

    















    <h5 class="subsection-title">Properties:</h5>

    

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>canvas</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMElement</span>


            
            </td>

            

            

            <td class="description last">The canvas on which this app drawing.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>gl</code></td>
            

            <td class="type">
            
                
<span class="param-type">WebGLRenderingContext</span>


            
            </td>

            

            

            <td class="description last">The WebGL context.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>width</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">The width of the drawing surface.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>height</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">The height of the drawing surface.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>floatRenderTargetsEnabled</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            

            

            <td class="description last">Whether the EXT_color_buffer_float extension is enabled.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>linearFloatTexturesEnabled</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            

            

            <td class="description last">Whether the OES_texture_float_linear extension is enabled.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>s3tcTexturesEnabled</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            

            

            <td class="description last">Whether the WEBGL_compressed_texture_s3tc extension is enabled.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>s3tcSRGBTexturesEnabled</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            

            

            <td class="description last">Whether the WEBGL_compressed_texture_s3tc_srgb extension is enabled.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>etcTexturesEnabled</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            

            

            <td class="description last">Whether the WEBGL_compressed_texture_etc extension is enabled.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>astcTexturesEnabled</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            

            

            <td class="description last">Whether the WEBGL_compressed_texture_astc extension is enabled.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>pvrtcTexturesEnabled</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            

            

            <td class="description last">Whether the WEBGL_compressed_texture_pvrtc extension is enabled.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>state</code></td>
            

            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>

            

            

            <td class="description last">Tracked GL state.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>clearBits</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">Current clear mask to use with clear().</td>
        </tr>

    
    </tbody>
</table>




<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line61">line 61</a>
    </li></ul></dd>
    

    

    

    
</dl>


















    
    </div>

    

    

    

    

    

    

    

    
        <h3 class="subsection-title">Methods</h3>

        
            

    

    
    <h4 class="name" id="astcTextures"><span class="type-signature"></span>astcTextures<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Enable the WEBGL_compressed_texture_astc extension, which allows the following enums to
        be used as texture formats:
        
        <ul>
          <li>PicoGL.COMPRESSED_RGBA_ASTC_4x4_KHR
          <li>PicoGL.COMPRESSED_RGBA_ASTC_5x4_KHR
          <li>PicoGL.COMPRESSED_RGBA_ASTC_5x5_KHR
          <li>PicoGL.COMPRESSED_RGBA_ASTC_6x5_KHR
          <li>PicoGL.COMPRESSED_RGBA_ASTC_6x6_KHR
          <li>PicoGL.COMPRESSED_RGBA_ASTC_8x5_KHR
          <li>PicoGL.COMPRESSED_RGBA_ASTC_8x6_KHR
          <li>PicoGL.COMPRESSED_RGBA_ASTC_8x8_KHR
          <li>PicoGL.COMPRESSED_RGBA_ASTC_10x5_KHR
          <li>PicoGL.COMPRESSED_RGBA_ASTC_10x6_KHR
          <li>PicoGL.COMPRESSED_RGBA_ASTC_10x8_KHR
          <li>PicoGL.COMPRESSED_RGBA_ASTC_10x10_KHR
          <li>PicoGL.COMPRESSED_RGBA_ASTC_12x10_KHR
          <li>PicoGL.COMPRESSED_RGBA_ASTC_12x12_KHR
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR
        </ul>
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line812">line 812</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="blend"><span class="type-signature"></span>blend<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Enable blending.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line391">line 391</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="blendFunc"><span class="type-signature"></span>blendFunc<span class="signature">(src, dest)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the blend function. E.g. app.blendFunc(PicoGL.ONE, PicoGL.ONE_MINUS_SRC_ALPHA).
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>src</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">The source blending weight.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>dest</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">The destination blending weight.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line417">line 417</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="blendFuncSeparate"><span class="type-signature"></span>blendFuncSeparate<span class="signature">(csrc, cdest, asrc, adest)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the blend function, with separate weighting for color and alpha channels.
        E.g. app.blendFuncSeparate(PicoGL.ONE, PicoGL.ONE_MINUS_SRC_ALPHA, PicoGL.ONE, PicoGL.ONE).
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>csrc</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">The source blending weight for the RGB channels.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>cdest</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">The destination blending weight for the RGB channels.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>asrc</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">The source blending weight for the alpha channel.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>adest</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">The destination blending weight for the alpha channel.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line434">line 434</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="blitFramebuffer"><span class="type-signature"></span>blitFramebuffer<span class="signature">(mask, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Copy data from framebuffer attached to READ_FRAMEBUFFER to framebuffer attached to DRAW_FRAMEBUFFER.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>mask</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">Write mask (e.g. PicoGL.COLOR_BUFFER_BIT).</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>options</code></td>
            

            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">Blit options.
                <h6>Properties</h6>
                

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>srcStartX</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    0
                
                </td>
            

            <td class="description last">Source start x coordinate.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>srcStartY</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    0
                
                </td>
            

            <td class="description last">Source start y coordinate.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>srcEndX</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    Width of the read framebuffer
                
                </td>
            

            <td class="description last">Source end x coordinate.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>srcEndY</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    Height of the read framebuffer
                
                </td>
            

            <td class="description last">Source end y coordinate.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>dstStartX</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    0
                
                </td>
            

            <td class="description last">Destination start x coordinate.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>dstStartY</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    0
                
                </td>
            

            <td class="description last">Destination start y coordinate.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>dstEndX</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    Width of the draw framebuffer
                
                </td>
            

            <td class="description last">Destination end x coordinate.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>dstEndY</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    Height of the draw framebuffer
                
                </td>
            

            <td class="description last">Destination end y coordinate.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>filter</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    NEAREST
                
                </td>
            

            <td class="description last">Sampling filter.</td>
        </tr>

    
    </tbody>
</table>

            </td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line296">line 296</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="clear"><span class="type-signature"></span>clear<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Clear the canvas
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line214">line 214</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="clearColor"><span class="type-signature"></span>clearColor<span class="signature">(r, g, b, a)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the clear color.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>r</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">Red channel.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>g</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">Green channel.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>b</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">Blue channel.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>a</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">Alpha channel.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line188">line 188</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="clearMask"><span class="type-signature"></span>clearMask<span class="signature">(mask)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the clear mask bits to use when calling clear().
        E.g. app.clearMask(PicoGL.COLOR_BUFFER_BIT).
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>mask</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">Bit mask of buffers to clear.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line202">line 202</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="colorMask"><span class="type-signature"></span>colorMask<span class="signature">(r, g, b, a)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the color mask to selectively enable or disable particular
        color channels while rendering.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>r</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            

            

            <td class="description last">Red channel.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>g</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            

            

            <td class="description last">Green channel.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>b</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            

            

            <td class="description last">Blue channel.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>a</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            

            

            <td class="description last">Alpha channel.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line172">line 172</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createCubemap"><span class="type-signature"></span>createCubemap<span class="signature">(options)</span><span class="type-signature"> &rarr; {<a href="Cubemap.html">Cubemap</a>}</span></h4>
    

    



<div class="description">
    Create a cubemap.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>options</code></td>
            

            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>

            

            

            <td class="description last">Texture options.
                <h6>Properties</h6>
                

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>negX</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMElement</span>
|

<span class="param-type">ArrayBufferView</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">The image data for the negative X direction.
                Can be any format that would be accepted by texImage2D.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>posX</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMElement</span>
|

<span class="param-type">ArrayBufferView</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">The image data for the positive X direction.
                Can be any format that would be accepted by texImage2D.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>negY</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMElement</span>
|

<span class="param-type">ArrayBufferView</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">The image data for the negative Y direction.
                Can be any format that would be accepted by texImage2D.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>posY</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMElement</span>
|

<span class="param-type">ArrayBufferView</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">The image data for the positive Y direction.
                Can be any format that would be accepted by texImage2D.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>negZ</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMElement</span>
|

<span class="param-type">ArrayBufferView</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">The image data for the negative Z direction.
                Can be any format that would be accepted by texImage2D.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>posZ</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMElement</span>
|

<span class="param-type">ArrayBufferView</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">The image data for the positive Z direction.
                Can be any format that would be accepted by texImage2D.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>width</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Cubemap side width. Defaults to the width of negX if negX is an image.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>height</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Cubemap side height. Defaults to the height of negX if negX is an image.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Type of data stored in the texture. Defaults to UNSIGNED_SHORT 
            if format is DEPTH_COMPONENT, UNSIGNED_BYTE otherwise.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>format</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    RGBA
                
                </td>
            

            <td class="description last">Texture data format.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>internalFormat</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    RGBA
                
                </td>
            

            <td class="description last">Texture data internal format.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>flipY</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    false
                
                </td>
            

            <td class="description last">Whether the y-axis should be flipped when unpacking the image.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>premultiplyAlpha</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    false
                
                </td>
            

            <td class="description last">Whether the alpha channel should be pre-multiplied when unpacking the image.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>minFilter</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Minification filter. Defaults to 
            LINEAR_MIPMAP_NEAREST if image data is provided, NEAREST otherwise.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>magFilter</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Magnification filter. Defaults to LINEAR
            if image data is provided, NEAREST otherwise.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>wrapS</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    REPEAT
                
                </td>
            

            <td class="description last">Horizontal wrap mode.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>wrapT</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    REPEAT
                
                </td>
            

            <td class="description last">Vertical wrap mode.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>compareMode</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    NONE
                
                </td>
            

            <td class="description last">Comparison mode.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>compareFunc</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    LEQUAL
                
                </td>
            

            <td class="description last">Comparison function.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>baseLevel</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Base mipmap level.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>maxLevel</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Maximum mipmap level.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>minLOD</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Mimimum level of detail.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>maxLOD</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Maximum level of detail.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>generateMipmaps</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Should mipmaps be generated. Defaults to generating mipmaps if
            a mipmap sampling filter is usedd.</td>
        </tr>

    
    </tbody>
</table>

            </td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line1246">line 1246</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New Cubemap object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="Cubemap.html">Cubemap</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createDrawCall"><span class="type-signature"></span>createDrawCall<span class="signature">(program, vertexArray, primitive<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="DrawCall.html">DrawCall</a>}</span></h4>
    

    



<div class="description">
    Create a DrawCall. A DrawCall manages the state associated with
        a WebGL draw call including a program and associated vertex data, textures,
        uniforms and uniform blocks.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>program</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Program.html">Program</a></span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">The program to use for this DrawCall.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>vertexArray</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="VertexArray.html">VertexArray</a></span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Vertex data to use for drawing.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>primitive</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    TRIANGLES
                
                </td>
            

            <td class="description last">Type of primitive to draw.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line1306">line 1306</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New DrawCall object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="DrawCall.html">DrawCall</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createFramebuffer"><span class="type-signature"></span>createFramebuffer<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Framebuffer.html">Framebuffer</a>}</span></h4>
    

    



<div class="description">
    Create a framebuffer.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line1270">line 1270</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New Framebuffer object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="Framebuffer.html">Framebuffer</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createIndexBuffer"><span class="type-signature"></span>createIndexBuffer<span class="signature">(type, itemSize, data, usage<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="VertexBuffer.html">VertexBuffer</a>}</span></h4>
    

    



<div class="description">
    Create an index buffer.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">The data type stored in the index buffer.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>itemSize</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Number of elements per primitive.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>data</code></td>
            

            <td class="type">
            
                
<span class="param-type">ArrayBufferView</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Index buffer data.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>usage</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    STATIC_DRAW
                
                </td>
            

            <td class="description last">Buffer usage.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line1042">line 1042</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New VertexBuffer object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="VertexBuffer.html">VertexBuffer</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createMatrixBuffer"><span class="type-signature"></span>createMatrixBuffer<span class="signature">(type, data, usage<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="VertexBuffer.html">VertexBuffer</a>}</span></h4>
    

    



<div class="description">
    Create a per-vertex matrix buffer. Matrix buffers ensure that columns
        are correctly split across attribute locations.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">The data type stored in the matrix buffer. Valid types
        are FLOAT_MAT4, FLOAT_MAT4x2, FLOAT_MAT4x3, FLOAT_MAT3, FLOAT_MAT3x2,
        FLOAT_MAT3x4, FLOAT_MAT2, FLOAT_MAT2x3, FLOAT_MAT2x4.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>data</code></td>
            

            <td class="type">
            
                
<span class="param-type">ArrayBufferView</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Matrix buffer data.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>usage</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    STATIC_DRAW
                
                </td>
            

            <td class="description last">Buffer usage.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line1028">line 1028</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New VertexBuffer object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="VertexBuffer.html">VertexBuffer</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createProgram"><span class="type-signature"></span>createProgram<span class="signature">(vertexShader, fragmentShader, xformFeedbackVars<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="Program.html">Program</a>}</span></h4>
    

    



<div class="description">
    Create a program.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>vertexShader</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Shader.html">Shader</a></span>
|

<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">Vertex shader object or source code.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>fragmentShader</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Shader.html">Shader</a></span>
|

<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">Fragment shader object or source code.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>xformFeedbackVars</code></td>
            

            <td class="type">
            
                
<span class="param-type">Array</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">Transform feedback varyings.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line964">line 964</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New Program object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="Program.html">Program</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createQuery"><span class="type-signature"></span>createQuery<span class="signature">(target)</span><span class="type-signature"> &rarr; {<a href="Query.html">Query</a>}</span></h4>
    

    



<div class="description">
    Create a query.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>target</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">Information to query.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line1281">line 1281</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New Query object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="Query.html">Query</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createRenderbuffer"><span class="type-signature"></span>createRenderbuffer<span class="signature">(width, height, internalFormat, samples<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="Renderbuffer.html">Renderbuffer</a>}</span></h4>
    

    



<div class="description">
    Create a renderbuffer.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>width</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Renderbuffer width.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>height</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Renderbuffer height.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>internalFormat</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Internal arrangement of the renderbuffer data.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>samples</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    0
                
                </td>
            

            <td class="description last">Number of MSAA samples.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line1260">line 1260</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New Renderbuffer object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="Renderbuffer.html">Renderbuffer</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createShader"><span class="type-signature"></span>createShader<span class="signature">(type, source)</span><span class="type-signature"> &rarr; {<a href="Shader.html">Shader</a>}</span></h4>
    

    



<div class="description">
    Create a shader. Creating a shader separately from a program allows for
        shader reuse.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">Shader type.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>source</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            

            

            <td class="description last">Shader source.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line977">line 977</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New Shader object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="Shader.html">Shader</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createTexture2D"><span class="type-signature"></span>createTexture2D<span class="signature">(image<span class="signature-attributes">opt</span>, width<span class="signature-attributes">opt</span>, height<span class="signature-attributes">opt</span>, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="Texture.html">Texture</a>}</span></h4>
    

    



<div class="description">
    Create a 2D texture. Can be used in several ways depending on the type of texture data:
        <ul>
            <li><b>app.createTexture2D(ImageElement, options)</b>: Create texture from a DOM image element.
            <li><b>app.createTexture2D(TypedArray, width, height, options)</b>: Create texture from a typed array.
            <li><b>app.createTexture2D(width, height, options)</b>: Create empty texture.
        </ul>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>image</code></td>
            

            <td class="type">
            
                
<span class="param-type">DOMElement</span>
|

<span class="param-type">ArrayBufferView</span>
|

<span class="param-type">Array</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">Image data. An array can be passed to manually set all levels 
            of the mipmap chain. If a single level is passed and mipmap filtering is being used,
            generateMipmap() will be called to produce the remaining levels.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>width</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">Texture width. Required for array or empty data.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>height</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">Texture height. Required for array or empty data.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>options</code></td>
            

            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">Texture options.
                <h6>Properties</h6>
                

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Type of data stored in the texture. Defaults to UNSIGNED_SHORT 
            if format is DEPTH_COMPONENT, UNSIGNED_BYTE otherwise.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>format</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    RGBA
                
                </td>
            

            <td class="description last">Texture data format.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>internalFormat</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    RGBA
                
                </td>
            

            <td class="description last">Texture data internal format.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>flipY</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    false
                
                </td>
            

            <td class="description last">Whether the y-axis should be flipped when unpacking the texture.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>premultiplyAlpha</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    false
                
                </td>
            

            <td class="description last">Whether the alpha channel should be pre-multiplied when unpacking the texture.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>minFilter</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Minification filter. Defaults to 
            LINEAR_MIPMAP_NEAREST if image data is provided, NEAREST otherwise.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>magFilter</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Magnification filter. Defaults to LINEAR
            if image data is provided, NEAREST otherwise.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>wrapS</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    REPEAT
                
                </td>
            

            <td class="description last">Horizontal wrap mode.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>wrapT</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    REPEAT
                
                </td>
            

            <td class="description last">Vertical wrap mode.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>compareMode</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    NONE
                
                </td>
            

            <td class="description last">Comparison mode.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>compareFunc</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    LEQUAL
                
                </td>
            

            <td class="description last">Comparison function.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>baseLevel</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Base mipmap level.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>maxLevel</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Maximum mipmap level.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>minLOD</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Mimimum level of detail.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>maxLOD</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Maximum level of detail.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>generateMipmaps</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Should mipmaps be generated. Defaults to generating mipmaps if
            a mipmap sampling filter is used and the mipmap levels aren't provided directly.</td>
        </tr>

    
    </tbody>
</table>

            </td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line1098">line 1098</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New Texture object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="Texture.html">Texture</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createTexture3D"><span class="type-signature"></span>createTexture3D<span class="signature">(image, width, height, depth, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="Texture.html">Texture</a>}</span></h4>
    

    



<div class="description">
    Create a 3D texture.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>image</code></td>
            

            <td class="type">
            
                
<span class="param-type">ArrayBufferView</span>
|

<span class="param-type">Array</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">Pixel data. An array can be passed to manually set all levels 
            of the mipmap chain. If a single level is passed and mipmap filtering is being used,
            generateMipmap() will be called to produce the remaining levels.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>width</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">Texture width.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>height</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">Texture height.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>depth</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">Texture depth.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>options</code></td>
            

            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">Texture options.
                <h6>Properties</h6>
                

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Type of data stored in the texture. Defaults to UNSIGNED_SHORT 
            if format is DEPTH_COMPONENT, UNSIGNED_BYTE otherwise.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>format</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    RGBA
                
                </td>
            

            <td class="description last">Texture data format.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>internalFormat</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    RGBA
                
                </td>
            

            <td class="description last">Texture data internal format.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>flipY</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    false
                
                </td>
            

            <td class="description last">Whether the y-axis should be flipped when unpacking the texture.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>minFilter</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Minification filter. Defaults to 
            LINEAR_MIPMAP_NEAREST if image data is provided, NEAREST otherwise.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>magFilter</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Magnification filter. Defaults to LINEAR
            if image data is provided, NEAREST otherwise.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>wrapS</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    REPEAT
                
                </td>
            

            <td class="description last">Horizontal wrap mode.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>wrapT</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    REPEAT
                
                </td>
            

            <td class="description last">Vertical wrap mode.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>wrapR</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    REPEAT
                
                </td>
            

            <td class="description last">Depth wrap mode.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>compareMode</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    NONE
                
                </td>
            

            <td class="description last">Comparison mode.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>compareFunc</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    LEQUAL
                
                </td>
            

            <td class="description last">Comparison function.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>baseLevel</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Base mipmap level.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>maxLevel</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Maximum mipmap level.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>minLOD</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Mimimum level of detail.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>maxLOD</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Maximum level of detail.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>generateMipmaps</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Should mipmaps be generated. Defaults to generating mipmaps if
            a mipmap sampling filter is use and the mipmap levels aren't provided directly.</td>
        </tr>

    
    </tbody>
</table>

            </td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line1193">line 1193</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New Texture object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="Texture.html">Texture</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createTextureArray"><span class="type-signature"></span>createTextureArray<span class="signature">(image, width, height, size, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="Texture.html">Texture</a>}</span></h4>
    

    



<div class="description">
    Create a 2D texture array.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>image</code></td>
            

            <td class="type">
            
                
<span class="param-type">ArrayBufferView</span>
|

<span class="param-type">Array</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">Pixel data. An array can be passed to manually set all levels 
            of the mipmap chain. If a single level is passed and mipmap filtering is being used,
            generateMipmap() will be called to produce the remaining levels.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>width</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">Texture width.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>height</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">Texture height.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>size</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">Number of images in the array.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>options</code></td>
            

            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">Texture options.
                <h6>Properties</h6>
                

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Type of data stored in the texture. Defaults to UNSIGNED_SHORT 
            if format is DEPTH_COMPONENT, UNSIGNED_BYTE otherwise.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>format</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    RGBA
                
                </td>
            

            <td class="description last">Texture data format.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>internalFormat</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    RGBA
                
                </td>
            

            <td class="description last">Texture data internal format.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>flipY</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    false
                
                </td>
            

            <td class="description last">Whether the y-axis should be flipped when unpacking the texture.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>minFilter</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Minification filter. Defaults to 
            LINEAR_MIPMAP_NEAREST if image data is provided, NEAREST otherwise.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>magFilter</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Magnification filter. Defaults to LINEAR
            if image data is provided, NEAREST otherwise.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>wrapS</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    REPEAT
                
                </td>
            

            <td class="description last">Horizontal wrap mode.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>wrapT</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    REPEAT
                
                </td>
            

            <td class="description last">Vertical wrap mode.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>wrapR</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    REPEAT
                
                </td>
            

            <td class="description last">Depth wrap mode.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>compareMode</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    NONE
                
                </td>
            

            <td class="description last">Comparison mode.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>compareFunc</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    LEQUAL
                
                </td>
            

            <td class="description last">Comparison function.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>baseLevel</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Base mipmap level.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>maxLevel</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Maximum mipmap level.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>minLOD</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Mimimum level of detail.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>maxLOD</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Maximum level of detail.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>generateMipmaps</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Should mipmaps be generated. Defaults to generating mipmaps if
            a mipmap sampling filter is use and the mipmap levels aren't provided directly.</td>
        </tr>

    
    </tbody>
</table>

            </td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line1148">line 1148</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New Texture object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="Texture.html">Texture</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createTimer"><span class="type-signature"></span>createTimer<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Timer.html">Timer</a>}</span></h4>
    

    



<div class="description">
    Create a timer.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line1291">line 1291</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New Timer object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="Timer.html">Timer</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createTransformFeedback"><span class="type-signature"></span>createTransformFeedback<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="TransformFeedback.html">TransformFeedback</a>}</span></h4>
    

    



<div class="description">
    Create a transform feedback object.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line997">line 997</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New TransformFeedback object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="TransformFeedback.html">TransformFeedback</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createUniformBuffer"><span class="type-signature"></span>createUniformBuffer<span class="signature">(layout, usage<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="UniformBuffer.html">UniformBuffer</a>}</span></h4>
    

    



<div class="description">
    Create a uniform buffer in std140 layout. NOTE: FLOAT_MAT2, FLOAT_MAT3x2, FLOAT_MAT4x2,
        FLOAT_MAT3, FLOAT_MAT2x3, FLOAT_MAT4x3 are supported, but must be manually padded to
        4-float column alignment by the application!
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>layout</code></td>
            

            <td class="type">
            
                
<span class="param-type">Array</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Array indicating the order and types of items to
                        be stored in the buffer.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>usage</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    DYNAMIC_DRAW
                
                </td>
            

            <td class="description last">Buffer usage.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line1057">line 1057</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New UniformBuffer object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="UniformBuffer.html">UniformBuffer</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createVertexArray"><span class="type-signature"></span>createVertexArray<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="VertexArray.html">VertexArray</a>}</span></h4>
    

    



<div class="description">
    Create a vertex array.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line987">line 987</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New VertexArray object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="VertexArray.html">VertexArray</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="createVertexBuffer"><span class="type-signature"></span>createVertexBuffer<span class="signature">(type, itemSize, data, usage<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="VertexBuffer.html">VertexBuffer</a>}</span></h4>
    

    



<div class="description">
    Create a vertex buffer.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">The data type stored in the vertex buffer.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>itemSize</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Number of elements per vertex.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>data</code></td>
            

            <td class="type">
            
                
<span class="param-type">ArrayBufferView</span>
|

<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">Buffer data itself or the total 
            number of elements to be allocated.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>usage</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    STATIC_DRAW
                
                </td>
            

            <td class="description last">Buffer usage.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line1012">line 1012</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    New VertexBuffer object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="VertexBuffer.html">VertexBuffer</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="cullBackfaces"><span class="type-signature"></span>cullBackfaces<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Enable backface culling.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line643">line 643</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="defaultDrawFramebuffer"><span class="type-signature"></span>defaultDrawFramebuffer<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Switch back to the default framebuffer for drawing (i.e. draw to the screen).
        Note that this method resets the viewport to match the default framebuffer.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line255">line 255</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="defaultReadFramebuffer"><span class="type-signature"></span>defaultReadFramebuffer<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Switch back to the default framebuffer for reading (i.e. read from the screen).
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line270">line 270</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="defaultViewport"><span class="type-signature"></span>defaultViewport<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the viewport to the full canvas.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line931">line 931</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="depthFunc"><span class="type-signature"></span>depthFunc<span class="signature">(func)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the depth test function. E.g. app.depthFunc(PicoGL.LEQUAL).
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>func</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">The depth testing function to use.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line379">line 379</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="depthMask"><span class="type-signature"></span>depthMask<span class="signature">(mask)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Enable or disable writing to the depth buffer.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>mask</code></td>
            

            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>

            

            

            <td class="description last">The depth mask.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line366">line 366</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="depthRange"><span class="type-signature"></span>depthRange<span class="signature">(near, far)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the depth range.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>near</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">Minimum depth value.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>far</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">Maximum depth value.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line329">line 329</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="depthTest"><span class="type-signature"></span>depthTest<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Enable depth testing.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line341">line 341</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="drawBackfaces"><span class="type-signature"></span>drawBackfaces<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Disable backface culling.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line655">line 655</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="drawFramebuffer"><span class="type-signature"></span>drawFramebuffer<span class="signature">(framebuffer)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Bind a draw framebuffer to the WebGL context.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>framebuffer</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Framebuffer.html">Framebuffer</a></span>


            
            </td>

            

            

            <td class="description last">The Framebuffer object to bind.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line228">line 228</a>
    </li></ul></dd>
    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Framebuffer.html">Framebuffer</a></li>
        </ul>
    </dd>
    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="etcTextures"><span class="type-signature"></span>etcTextures<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Enable the WEBGL_compressed_texture_etc extension, which allows the following enums to
        be used as texture formats:
        
        <ul>
          <li>PicoGL.COMPRESSED_R11_EAC
          <li>PicoGL.COMPRESSED_SIGNED_R11_EAC
          <li>PicoGL.COMPRESSED_RG11_EAC
          <li>PicoGL.COMPRESSED_SIGNED_RG11_EAC
          <li>PicoGL.COMPRESSED_RGB8_ETC2
          <li>PicoGL.COMPRESSED_SRGB8_ETC2
          <li>PicoGL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
          <li>PicoGL.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
          <li>PicoGL.COMPRESSED_RGBA8_ETC2_EAC
          <li>PicoGL.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
        </ul>

        Note that while WEBGL_compressed_texture_etc1 is not enabled by this method,
        ETC1 textures can be loaded using COMPRESSED_RGB8_ETC2 as the format.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line754">line 754</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="floatRenderTargets"><span class="type-signature"></span>floatRenderTargets<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Enable the EXT_color_buffer_float extension. Allows for creating float textures as
        render targets on FrameBuffer objects.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line669">line 669</a>
    </li></ul></dd>
    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Framebuffer.html">Framebuffer</a></li>
        </ul>
    </dd>
    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="linearFloatTextures"><span class="type-signature"></span>linearFloatTextures<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Enable the OES_texture_float_linear extension. Allows for linear blending on float textures.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line682">line 682</a>
    </li></ul></dd>
    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Framebuffer.html">Framebuffer</a></li>
        </ul>
    </dd>
    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="loseContext"><span class="type-signature"></span>loseContext<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Simulate context loss.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line113">line 113</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="noBlend"><span class="type-signature"></span>noBlend<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Disable blending
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line403">line 403</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="noDepthTest"><span class="type-signature"></span>noDepthTest<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Disable depth testing.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line353">line 353</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="noRasterize"><span class="type-signature"></span>noRasterize<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Disable rasterization step.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line631">line 631</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="noScissorTest"><span class="type-signature"></span>noScissorTest<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Disable scissor testing.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line485">line 485</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="noStencilTest"><span class="type-signature"></span>noStencilTest<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Disable stencil testing.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line460">line 460</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="onContextRestored"><span class="type-signature"></span>onContextRestored<span class="signature">(fn)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set function to handle context restoration after loss.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>fn</code></td>
            

            <td class="type">
            
                
<span class="param-type">function</span>


            
            </td>

            

            

            <td class="description last">Context restored handler.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line146">line 146</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="pvrtcTextures"><span class="type-signature"></span>pvrtcTextures<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Enable the WEBGL_compressed_texture_pvrtc extension, which allows the following enums to
        be used as texture formats:

        <ul>
          <li>PicoGL.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
          <li>PicoGL.COMPRESSED_RGB_PVRTC_2BPPV1_IMG
          <li>PicoGL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
          <li>PicoGL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG
        </ul>
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line864">line 864</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="rasterize"><span class="type-signature"></span>rasterize<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Enable rasterization step.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line619">line 619</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="readFramebuffer"><span class="type-signature"></span>readFramebuffer<span class="signature">(framebuffer)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Bind a read framebuffer to the WebGL context.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>framebuffer</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Framebuffer.html">Framebuffer</a></span>


            
            </td>

            

            

            <td class="description last">The Framebuffer object to bind.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line242">line 242</a>
    </li></ul></dd>
    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Framebuffer.html">Framebuffer</a></li>
        </ul>
    </dd>
    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="readPixel"><span class="type-signature"></span>readPixel<span class="signature">(x, y, outColor, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Read a pixel's color value from the currently-bound framebuffer.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>x</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">The x coordinate of the pixel.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>y</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">The y coordinate of the pixel.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>outColor</code></td>
            

            <td class="type">
            
                
<span class="param-type">ArrayBufferView</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">Typed array to store the pixel's color.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>options</code></td>
            

            <td class="type">
            
                
<span class="param-type">object</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">Options.
                <h6>Properties</h6>
                

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    UNSIGNED_BYTE
                
                </td>
            

            <td class="description last">Type of data stored in the read framebuffer.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>format</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    RGBA
                
                </td>
            

            <td class="description last">Read framebuffer data format.</td>
        </tr>

    
    </tbody>
</table>

            </td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line890">line 890</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="resize"><span class="type-signature"></span>resize<span class="signature">(width, height)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Resize the drawing surface.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>width</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">The new canvas width.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>height</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">The new canvas height.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line945">line 945</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="restoreContext"><span class="type-signature"></span>restoreContext<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Simulate context restoration.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line131">line 131</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="s3tcTextures"><span class="type-signature"></span>s3tcTextures<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Enable the WEBGL_compressed_texture_s3tc and WEBGL_compressed_texture_s3tc_srgb extensions, which 
        allow the following enums to be used as texture formats:

        <ul>
          <li>PicoGL.COMPRESSED_RGB_S3TC_DXT1_EXT
          <li>PicoGL.COMPRESSED_RGBA_S3TC_DXT1_EXT
          <li>PicoGL.COMPRESSED_RGBA_S3TC_DXT3_EXT
          <li>PicoGL.COMPRESSED_RGBA_S3TC_DXT5_EXT
          <li>PicoGL.COMPRESSED_SRGB_S3TC_DXT1_EXT
          <li>PicoGL.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
          <li>PicoGL.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
          <li>PicoGL.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
        </ul>
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line707">line 707</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="scissor"><span class="type-signature"></span>scissor<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Define the scissor box.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line497">line 497</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="scissorTest"><span class="type-signature"></span>scissorTest<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Enable scissor testing.
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line473">line 473</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="stencilFunc"><span class="type-signature"></span>stencilFunc<span class="signature">(func, ref, mask)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the stencil function and reference value.
        E.g. app.stencilFunc(PicoGL.EQUAL, 1, 0xFF).
        NOTE: Only works if { stencil: true } passed as a
        context attribute when creating the App!
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>func</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">The testing function.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>ref</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">The reference value.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>mask</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">The bitmask to use against tested values before applying
            the stencil function.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line550">line 550</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="stencilFuncSeparate"><span class="type-signature"></span>stencilFuncSeparate<span class="signature">(face, func, ref, mask)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the stencil function and reference value for a particular face orientation.
        E.g. app.stencilFuncSeparate(PicoGL.FRONT, PicoGL.EQUAL, 1, 0xFF).
        NOTE: Only works if { stencil: true } passed as a
        context attribute when creating the App!
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>face</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">The face orientation to apply the function to.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>func</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">The testing function.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>ref</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">The reference value.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>mask</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">The bitmask to use against tested values before applying
            the stencil function.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line570">line 570</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="stencilMask"><span class="type-signature"></span>stencilMask<span class="signature">(mask)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the bitmask to use for tested stencil values.
        E.g. app.stencilMask(0xFF).
        NOTE: Only works if { stencil: true } passed as a
        context attribute when creating the App!
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>mask</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">The mask value.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line514">line 514</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="stencilMaskSeparate"><span class="type-signature"></span>stencilMaskSeparate<span class="signature">(face, mask)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the bitmask to use for tested stencil values for a particular face orientation.
        E.g. app.stencilMaskSeparate(PicoGL.FRONT, 0xFF).
        NOTE: Only works if { stencil: true } passed as a
        context attribute when creating the App!
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>face</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">The face orientation to apply the mask to.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>mask</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">The mask value.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line531">line 531</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="stencilOp"><span class="type-signature"></span>stencilOp<span class="signature">(stencilFail, depthFail, pass)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the operations for updating stencil buffer values.
        E.g. app.stencilOp(PicoGL.KEEP, PicoGL.KEEP, PicoGL.REPLACE).
        NOTE: Only works if { stencil: true } passed as a
        context attribute when creating the App!
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>stencilFail</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">Operation to apply if the stencil test fails.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>depthFail</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">Operation to apply if the depth test fails.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>pass</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">Operation to apply if the both the depth and stencil tests pass.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line588">line 588</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="stencilOpSeparate"><span class="type-signature"></span>stencilOpSeparate<span class="signature">(face, stencilFail, depthFail, pass)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the operations for updating stencil buffer values for a particular face orientation.
        E.g. app.stencilOpSeparate(PicoGL.FRONT, PicoGL.KEEP, PicoGL.KEEP, PicoGL.REPLACE).
        NOTE: Only works if { stencil: true } passed as a
        context attribute when creating the App!
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>face</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">The face orientation to apply the operations to.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>stencilFail</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">Operation to apply if the stencil test fails.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>depthFail</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">Operation to apply if the depth test fails.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>pass</code></td>
            

            <td class="type">
            
                
<span class="param-type">GLEnum</span>


            
            </td>

            

            

            <td class="description last">Operation to apply if the both the depth and stencil tests pass.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line607">line 607</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="stencilTest"><span class="type-signature"></span>stencilTest<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Enable stencil testing.
        NOTE: Only works if { stencil: true } passed as a
        context attribute when creating the App!
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line448">line 448</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="viewport"><span class="type-signature"></span>viewport<span class="signature">(x, y, width, height)</span><span class="type-signature"> &rarr; {<a href="App.html">App</a>}</span></h4>
    

    



<div class="description">
    Set the viewport.
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>x</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">Left bound of the viewport rectangle.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>y</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">Lower bound of the viewport rectangle.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>width</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">Width of the viewport rectangle.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>height</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last">Height of the viewport rectangle.</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="app.js.html">app.js</a>, <a href="app.js.html#line911">line 911</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    The App object.
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="App.html">App</a></span>


    </dd>
</dl>

    





        
    

    

    
</article>

</section>




</div>

<nav>
    <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="App.html">App</a></li><li><a href="Cubemap.html">Cubemap</a></li><li><a href="DrawCall.html">DrawCall</a></li><li><a href="Framebuffer.html">Framebuffer</a></li><li><a href="Program.html">Program</a></li><li><a href="Query.html">Query</a></li><li><a href="Renderbuffer.html">Renderbuffer</a></li><li><a href="Shader.html">Shader</a></li><li><a href="Texture.html">Texture</a></li><li><a href="Timer.html">Timer</a></li><li><a href="TransformFeedback.html">TransformFeedback</a></li><li><a href="UniformBuffer.html">UniformBuffer</a></li><li><a href="VertexArray.html">VertexArray</a></li><li><a href="VertexBuffer.html">VertexBuffer</a></li></ul><h3>Namespaces</h3><ul><li><a href="PicoGL.html">PicoGL</a></li></ul>
</nav>

<br class="clear">

<footer>
    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Nov 12 2018 08:21:36 GMT-0500 (GMT-05:00)
</footer>

<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>